package com.base.service.workflow.service;

import java.util.List;

import com.base.core.framework.sql.service.SqlBaseService;
import com.base.service.workflow.bo.AssignmentStatusEnum;
import com.base.service.workflow.entity.AssignmentDO;
import com.base.service.workflow.entity.FlowDO;
import com.base.service.workflow.entity.ProcessDO;
import com.base.service.workflow.entity.TaskDO;
import com.base.service.workflow.manager.ProcessDefineService;
import com.gitee.magic.core.json.JsonObject;

/**
 * @author start 
 * @date 2022-03-17 09:37:26
 */
public interface AssignmentService extends SqlBaseService<AssignmentDO,Long> {
	
	void execute(Boolean isAgree,Long assignmentId,JsonObject params,List<Long> handleUserIds,String description);
	
	void nextExecute(ProcessDO process,ProcessDefineService handle,Long userId,TaskDO currentTask,FlowDO currentFlow, List<Long> userIds,JsonObject params);
	
	/**
	 * 处理
	 * @param assignmentId
	 * @param status
	 * @param description
	 */
	void processed(Long assignmentId,AssignmentStatusEnum status,String description);
	
}
